#define _CRT_SECURE_NO_WARNINGS 1





//https://www.luogu.com.cn/problem/P1588






//
//#include<iostream>
//#include<queue>
//#include<cstring>
//
//using namespace std;
//
//const int N = 1e5 + 10;
//
//int t;
//int x, y;
//int dist[N];
//
//void bfs()
//{
//	queue<int>q;
//	q.push(x);
//	dist[x] = 0;
//	while (q.size())
//	{
//		int t = q.front();
//		q.pop();
//		int a = t + 1;
//		int b = t - 1;
//		int c = t * 2;
//		if (a <= y && dist[a] == -1)
//		{
//			dist[a] = dist[t] + 1;
//			q.push(a);
//		}
//		if (b > 0 && dist[b] == -1)
//		{
//			dist[b] = dist[t] + 1;
//			q.push(b);
//		}
//		if (c <= N-10 && dist[c] == -1)
//		{
//			dist[c] = dist[t] + 1;
//			q.push(c);
//		}
//
//		if (a == y || b == y || c == y)
//			return;
//	}
//}
//
//int main()
//{
//	cin >> t;
//	while (t--)
//	{
//		cin >> x >> y;
//		memset(dist, -1, sizeof dist);
//		bfs();
//		cout << dist[y] << endl;
//	}
//	return 0;
//}
